<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets">
	<ui:remove>
	Parámetros que reciben los campos reutilizables:
	-postuladoNombre: Propiedad que tendrá el nombre del postulado seleccionada en el popUp de búsqueda de postulados
	-idPopupPostulado: Identificador del componente popup de búsqueda de postulados.
	-requiredField: Booleano que especifica si el campo es o no requerido
	-fieldLabel: Label del campo de postulado
	-inputTextClass: Clase que indica si el input es largo o corto. Dejar vacío o usar otra clase.
				Inicialmente se define la combinación: "long longPostulado".
	-invokerBean: Identificador del bean que maneja la pantalla que realiza el include 
				del componente de postulados. Debe implementar la interfaz "PostualdoPopupImplementer"
	-prepId: Cadena de texto a anteponer en los ids para evitar ids duplicados
	-disabledField: Determina si se deshabilita el campo (se oculta la lupa)
	-onOpenRenderComponents: Componentes a renderizar al abrir el popup
	-appendFieldData: informacion a mostrar concatenada en el campo nombre </ui:remove>
	<h:panelGrid columns="2">
		<h:outputLabel value="#{fieldLabel}" />
		<h:outputLabel value="*" rendered="#{requiredField}" />
	</h:panelGrid>
	<h:panelGrid columns="2">
		<ui:remove>
			<a4j:commandLink
				oncomplete="#{rich:component(idPopupPostulado)}.show()"
				disabled="#{disabledField}" execute="@this"
				render="#{onOpenRenderComponents}:postuladoPopupPanel"
				action="#{postuladoManager.clearAndSetInvoker(invokerBean)}">
				<h:graphicImage value="/resources/images/icons/ico-magnify.png"
					title="#{onOpenRenderComponents}:postuladoPopupPanel - #{fieldLabel}" />
			</a4j:commandLink>
			<a4j:commandLink
				oncomplete="#{rich:component(idPopupPostulado)}.show()"
				disabled="#{disabledField}" execute="@this"
				render="#{onOpenRenderComponents}:regiona4jPostuladoPopup"
				action="#{postuladoManager.clearAndSetInvoker(invokerBean)}">
				<h:graphicImage value="/resources/images/icons/ico-magnify.png"
					title="#{onOpenRenderComponents}:regiona4jPostuladoPopup - #{fieldLabel}" />
			</a4j:commandLink>
			<a4j:commandLink
				oncomplete="#{rich:component(idPopupPostulado)}.show()"
				disabled="#{disabledField}" execute="@this"
				render="#{onOpenRenderComponents}:postuladoPopUpForm"
				action="#{postuladoManager.clearAndSetInvoker(invokerBean)}">
				<h:graphicImage value="/resources/images/icons/ico-magnify.png"
					title="#{onOpenRenderComponents}:postuladoPopUpForm - #{fieldLabel}" />
			</a4j:commandLink>
			<h:commandLink disabled="#{disabledField}"
				action="#{postuladoManager.clearAndSetInvoker(invokerBean)}">
				<h:graphicImage value="/resources/images/icons/ico-magnify.png"
					title="#{fieldLabel}" />
				<a4j:ajax execute="@this"
					oncomplete="#{rich:component(idPopupPostulado)}.show()"
					render="#{onOpenRenderComponents}:postuladoPopupPanel" />
			</h:commandLink>
		</ui:remove>

		<h:panelGrid id="#{prepId}postuladoNombreInputPanel">
			<h:inputText value="#{postuladoNombre}#{appendFieldData}"
				title="#{postuladoNombre}#{appendFieldData}"
				styleClass="#{inputTextClass}" disabled="true" />
			<h:inputHidden id="#{prepId}postuladoNombre" value="#{postuladoNombre}"
				required="#{requiredField}" rendered="#{not disabledField}"
				requiredMessage="${msg['general.requerido']}" />
			<h:message for="#{prepId}postuladoNombre"
				errorClass="validationErrorMessage" showSummary="false" />
		</h:panelGrid>
		<h:commandLink disabled="#{disabledField}"
			onclick="#{rich:component(idPopupPostulado)}.show()"
			action="#{postuladoManager.clearAndSetInvoker(invokerBean)}">
			<h:graphicImage value="/resources/images/icons/ico_lupa.png"
				title="#{fieldLabel}" />
			<f:ajax execute="@this"
				render="#{onOpenRenderComponents}:postuladoPopUpForm" />
		</h:commandLink>
	</h:panelGrid>
</ui:composition>